package com.tgpay.iot.controller;

import com.tgpay.iot.config.ChargingConfig;
import com.tgpay.iot.model.ApiResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 * 充电配置控制器
 */
@RestController
@RequestMapping("/api/charging/config")
@RequiredArgsConstructor
@Slf4j
public class ChargingConfigController {
    
    private final ChargingConfig chargingConfig;
    
    /**
     * 获取充电配置
     */
    @GetMapping
    public ApiResponse<Map<String, Object>> getChargingConfig() {
        Map<String, Object> config = new HashMap<>();
        // 前端使用的分钟数
        config.put("defaultDuration", chargingConfig.getDefaultDuration());
        config.put("maxDuration", chargingConfig.getMaxDuration());
        config.put("minDuration", chargingConfig.getMinDuration());
        
        // 上游API使用的秒数（供参考）
        config.put("defaultDurationSeconds", chargingConfig.getDefaultDuration() * 60);
        config.put("maxDurationSeconds", chargingConfig.getMaxDuration() * 60);
        config.put("minDurationSeconds", chargingConfig.getMinDuration() * 60);
        
        // 单位说明
        config.put("unit", "minutes"); // 前端配置单位为分钟
        config.put("upstreamUnit", "seconds"); // 上游API单位为秒
        
        log.debug("获取充电配置：{}", config);
        
        return ApiResponse.success(config);
    }
}